home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / c64-preservation-project / apps / koala_instant_programmers_guide[koala_technologies_1983].nbz / kb part 2 (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  6.3 KB  |  175 lines

  1. 8 PRINT"[147]"
  2. 10 POKE 53280,12:POKE53281,1:PRINT""
  3. 20 PRINT"[147]"
  4. 120 GOSUB 10100
  5. 130 GOSUB 10500
  6. 1720 PRINT"[147]"
  7. 1721 PRINT"  HERE IS HOW HI-RES GRAPHICS WORKS:"
  8. 1722 PRINT:PRINT:PRINT
  9. 1725 PRINT"HI-RES GRAPHICS TAKES 8000 BYTES OF"
  10. 1730 PRINT"MEMORY FOR ITS SCREEN."
  11. 1735 PRINT"FIRST YOU MUST SET THE LOCATION OF THE"
  12. 1740 PRINT"MEMORY (24576) TO BE USED FOR THE SCREEN";
  13. 1742 PRINT"AND THEN TURN THE SCREEN ON."
  14. 1745 PRINT:PRINT:PRINT"10804 POKE 56578,PEEK(56578)OR 3"
  15. 1746 PRINT"10806 POKE 56576,(PEEK(56576)AND 252)OR2";
  16. 1747 PRINT"10810 POKE 53272,PEEK(53272)OR 8"
  17. 1755 PRINT"10820 POKE 53265,PEEK(53265) OR 32"
  18. 1760 GOSUB 10400
  19. 1770 PRINT"[147]":PRINT:PRINT:PRINT:PRINT:PRINT"NOW YOU MUST CLEAR ALL THE BITS IN YOUR"
  20. 1780 PRINT"HI-RES SCREEN MEMORY AND SET THE COLORS"
  21. 1781 PRINT"OF THE BACKGROUND AND SCREEN BITS."
  22. 1782 PRINT:PRINT
  23. 1785 PRINT"10610 CB=49216"
  24. 1786 PRINT"10620 CC=49236"
  25. 1787 PRINT"10630 POKE 251,0:POKE 252,96"
  26. 1790 PRINT"10640 SYS CB"
  27. 1792 PRINT"10650 POKE 251,0:POKE 252,68"
  28. 1794 PRINT"10660 SYS CC"
  29. 1800 PRINT:PRINT:PRINT"THIS CALLS AN ASSEMBLY LANGUAGE PROGRAM"
  30. 1802 PRINT"THAT CLEARS THE SCREEN."
  31. 1803 GOSUB 10400
  32. 1804 PRINT"[147]":PRINT:PRINT:PRINT:PRINT:PRINT"HERE ARE THE HI-RES SCREEN COORDINATES:"
  33. 1805 PRINT:PRINT"0[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]X[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]319"
  34. 1806 FOR I=1 TO 5:PRINT"[221]":NEXT
  35. 1807 PRINT"Y"
  36. 1808 FOR I=1 TO 5:PRINT"[221]":NEXT
  37. 1809 PRINT" 199"
  38. 1810 GOSUB 10400
  39. 1820 PRINT"[147]":PRINT:PRINT:PRINT:PRINT:PRINT"NEXT YOU GET YOUR X AND Y FROM THE PAD"
  40. 1822 PRINT"AND CONVERT THEM TO THE SCREEN RANGE:"
  41. 1824 PRINT:PRINT:PRINT"10710 SYSC"
  42. 1826 PRINT"10720 X=INT((PEEK(C+257))*1.25)"
  43. 1828 PRINT"10730 Y=INT((PEEK(C+259))*.784)"
  44. 1829 GOSUB 10400:PRINT"[147]"
  45. 1830 PRINT:PRINT:PRINT:PRINT:PRINT"NOW YOU CAN USE THE FOLLOWING FORMULAS"
  46. 1832 PRINT"TO CONVERT THE X AND Y FROM THE PAD TO"
  47. 1834 PRINT"THE CORRESPONDING LOCATIONS WHICH ARE"
  48. 1835 PRINT"THEN POKED ON THE SCREEN."
  49. 1837 PRINT:PRINT:PRINT"10705 BASE=24576"
  50. 1840 PRINT"10740 CH=INT(X/8):RO=INT(Y/8)"
  51. 1850 PRINT"10760 LN=Y AND 7:BI=7-(X AND 7)"
  52. 1860 PRINT"10780 BY=BASE+RO*320+8*CH+LN"
  53. 1865 PRINT"10790 POKE BY,PEEK(BY)OR(2^BI)"
  54. 1875 GOSUB 10400
  55. 1880 PRINT"[147]":PRINT:PRINT:PRINT:PRINT:PRINT"WHEN YOU HAVE FINISHED USING THE HI-RES"
  56. 1882 PRINT"SCREEN YOU MUST TURN IT OFF AND RESTORE"
  57. 1884 PRINT"THE SCREEN MEMORY TO THE PROPER"
  58. 1886 PRINT"LOCATIONS:"
  59. 1888 PRINT:PRINT:PRINT"10860 POKE 53265,PEEK(53265) AND 223"
  60. 1890 PRINT"10870 POKE 53272,PEEK(53272)AND 247"
  61. 1891 PRINT"10874 POKE 56578,PEEK(56578)OR 3"
  62. 1892 PRINT"10876 POKE 56576,(PEEK(56576)AND 252)OR3";
  63. 1894 GOSUB 10400
  64. 1895 PRINT"[147]":VTAB=11:GOSUB 10000:PRINTTAB(11);"ONE MOMENT PLEASE..."
  65. 1896 LOAD"KB PART 3",8
  66. 1900 GOSUB 10800
  67. 1910 GOSUB 10600
  68. 1920 GOSUB 10700
  69. 2012 IF PEEK(C+262)<>255 THEN 2300
  70. 2020 POKE BY,DA
  71. 2100 DX=X-PX:DY=Y-PY
  72. 2110 TX=X:TY=Y
  73. 2120 AX=ABS(DX):AY=ABS(DY)
  74. 2130 IF AY>AX THEN 2200
  75. 2140 FOR I=1 TO AX
  76. 2150 X=PX+SGN(DX)*I
  77. 2160 Y=INT(PY+SGN(DY)*I*(AY/AX))
  78. 2170 GOSUB 10720
  79. 2180 NEXT I
  80. 2190 GOTO 2300
  81. 2200 FOR I=1 TO AY
  82. 2210 X=INT(PX+SGN(DX)*I*(AX/AY))
  83. 2220 Y=PY+SGN(DY)*I
  84. 2230 GOSUB 10720
  85. 2240 NEXT I
  86. 2300 PX=TX:PY=TY
  87. 2310 (null) TO 1920
  88. 4000 (null) TO 4000
  89. 7000 STOP
  90. 10000 REM***********VTAB****************
  91. 10010 PRINT""
  92. 10020 VA=VT/2
  93. 10030 VD=INT(VT/2)
  94. 10040 IF VA-VD>.4 THEN PRINT
  95. 10050 FOR CR=1 TO VD
  96. 10060 PRINT""
  97. 10070 NEXT CR
  98. 10080 RETURN
  99. 10100 REM*********PADDLE SET UP*********
  100. 10110 C=12*4096
  101. 10120 FOR I=0 TO 63
  102. 10121 READA
  103. 10122 POKE C+I,A
  104. 10124 NEXTI
  105. 10130 DATA 162,1,120,173,2,220,141,0,193,169,192,141,2,220,169
  106. 10140 DATA 128,141,0,220,160,128,234,136,16,252,173,25,212,157
  107. 10150 DATA 1,193,173,26,212,157,3,193,173,0,220,9,128,141,5,193
  108. 10160 DATA 169,64,202,16,222,173,0,193,141,2,220,173,1,220,141
  109. 10170 DATA 6,193,88,96
  110. 10180 RETURN
  111. 10200 REM***********DEBOUNCE******************
  112. 10210 SYSC
  113. 10220 S2=PEEK(C+262)
  114. 10230 IF S2<>255 THEN 10250
  115. 10240 (null) TO 10210
  116. 10250 BV=S2
  117. 10260 SYSC
  118. 10270 S2=PEEK(C+262)
  119. 10280 IF S2=255 THEN RETURN
  120. 10290 (null) TO 10260
  121. 10300 REM**************PADDLE READ*******
  122. 10310 SYSC
  123. 10320 XP=PEEK(C+257):YP=PEEK(C+259)
  124. 10330 S2=PEEK(C+262)
  125. 10340 RETURN
  126. 10400 REM*******PRESS EITHER BUTTON********
  127. 10410 VTAB=21:GOSUB 10000
  128. 10420 EB$="PRESS EITHER BUTTON TO CONTINUE..."
  129. 10421 PRINTEB$
  130. 10430 GOSUB 10200
  131. 10440 RETURN
  132. 10500 REM***********CLEAR MEMORY*********
  133. 10510 CB=49216
  134. 10520 FOR I=0 TO 39
  135. 10530 READ A
  136. 10540 POKE CB+I,A
  137. 10550 NEXT I
  138. 10560 DATA 24,169,0,160,0,162,128,145,251,200
  139. 10570 DATA 208,251,230,252,24,228,252,208,244,96
  140. 10580 DATA24,169,16,160,0,162,72,145,251,200
  141. 10590 DATA 208,251,230,252,24,228,252,208,244,96
  142. 10595 RETURN
  143. 10600 REM*********CLEAR HI-RES SCREEN***********
  144. 10610 CB=49216
  145. 10620 CC=49236
  146. 10630 POKE 251,0:POKE 252,96
  147. 10640 SYSCB
  148. 10650 POKE 251,0:POKE 252,68
  149. 10660 SYSCC
  150. 10670 RETURN
  151. 10700 REM**********PAD TO HI-RES COORS.**************
  152. 10705 BASE=2*4096+16384
  153. 10710 SYSC
  154. 10720 X=INT((PEEK(C+257))*1.25)
  155. 10730 Y=INT((PEEK(C+259))*.784)
  156. 10740 CH=INT(X/8)
  157. 10750 RO=INT(Y/8)
  158. 10760 LN=YAND7
  159. 10770 BI=7-(XAND7)
  160. 10780 BY=BASE +RO*320+8*CH+LN
  161. 10790 DA=PEEK(BY)OR(2^BI)
  162. 10795 RETURN
  163. 10800 REM******OPEN HI-RES*************************
  164. 10804 POKE 56578,PEEK(56578)OR3
  165. 10806 POKE 56576,(PEEK(56576)AND 252)OR2
  166. 10810 POKE 53272,PEEK(53272)OR8
  167. 10820 POKE 53265,PEEK(53265)OR32
  168. 10830 RETURN
  169. 10850 REM************CLOSE HI-RES*************
  170. 10860 POKE 53265,PEEK(53265)AND223
  171. 10870 POKE 53272,PEEK(53272)AND247
  172. 10874 POKE 56578,PEEK(56578)OR3
  173. 10876 POKE 56576,(PEEK(56576)AND252)OR3
  174. 10880 RETURN
  175.